public class EleveDAutoEcole
{
    private String nom;
    private String prenom;
    private AutoEcole ecole;
    private String date;
    private boolean code;
    private boolean conduite;
    private boolean aCode;
    private boolean aConduite;

    public EleveDAutoEcole (String nom, String prenom, AutoEcole ecole, String date, boolean aCode, boolean aConduite){

	this.nom=nom;
	this.prenom=prenom;
	this.ecole=ecole;
	this.date=date;
	if (aCode==false && ecole.getCapacity()>ecole.getInscritCode()+ecole.getInscritConduite()){
	    this.code=true;
	    ecole.setInscritCode(ecole.getInscritCode()+1);
	}
	if(aConduite==true){
	    this.conduite=false;
	}
	else if (aCode==true && ecole.getCapacity()>ecole.getInscritCode()+ecole.getInscritConduite()){
	    this.code=false;
	    this.conduite=true;
	    ecole.setInscritConduite(ecole.getInscritConduite()+1);
	}
	this.aCode=aCode;
	this.aConduite=aConduite;

    }

    public EleveDAutoEcole(){
	this("Nom","Prenom",new AutoEcole(), "11/11/12",false,false);
    }


    public String getNom(){
	return this.nom;
    }
   
    public void setNom(String n){
	this.nom=n;
    }
    
    public String getPrenom(){
	return this.prenom;
    }
    
    public void setPrenom(String p){
	this.prenom=p;
    }

    public AutoEcole getAutoEcole(){
	return this.ecole;
    }

    public void setAutoEcole(AutoEcole e){
	this.ecole=e;
    }

    public String getDate(){
	return this.date;
    }

    public void setDate(String d){
	this.date=d;
    }

    public boolean getCode(){
	return this.code;
    }

    public void setCode(boolean c){
	this.code=c;
    }

    public boolean getConduite(){
	return this.conduite;
    }

    public void setConduite(boolean con){
	this.conduite=con;
    }

    public boolean getACode(){
	return this.aCode;
    }

    public void setACode(boolean ac){
	this.aCode=ac;
    }

    public boolean getAConduite(){
	return this.aConduite;
    }

    public void setAConduite(boolean acon){
	this.aConduite=acon;
    }			  

     public boolean inscriptionExamen(String typeExam){
	 if (typeExam.equals("Code") && ecole.traiterDemandeDInscription(this,typeExam)){
	    ecole.setPlaceCode(ecole.getPlaceCode()-1);
	    return true;
	}
	 if (typeExam.equals("Conduite") && ecole.traiterDemandeDInscription(this,typeExam)){
	    ecole.setPlaceConduite(ecole.getPlaceConduite()-1);
	    return true;
	}
	return false;
     }

    public void resultat(String typeExam, boolean result){
	if (this.inscriptionExamen(typeExam)==true){
		if (typeExam.equals("Code") && result==true){
		    this.aCode=true;
		    this.code=false;
		    this.conduite=true;
		    ecole.setPlaceCode(ecole.getPlaceCode()+1);
		    ecole.setInscritCode(ecole.getInscritCode()-1);
		    ecole.setInscritConduite(ecole.getInscritConduite()+1);
		}
	

		if (typeExam.equals("Conduite") && result==true){
		    this.aConduite=true;
		    this.conduite=false;
		    ecole.setPlaceConduite(ecole.getPlaceConduite()+1);
		    ecole.setInscritConduite(ecole.getInscritConduite()-1);
	    
		}
	    }
    }

    public String toString(){
	return "L'élève "+this.prenom+this.nom+"appartient a l'auto école:\n"+this.ecole.getNom()+"\n Est il inscrit: \nAu code: "+this.code+" a la conduite: "+this.conduite+"\nPossède-t'il: \nSon code ? "+this.aCode+" et sa conduite ? "+this.aConduite;
    }
} 